/*
 * TDS PEC 4
 * Grupo 3H2M
 *
 * El paquete <code>edu.uoc.tds.pec4.beans</code> contiene la implementación de
 * los Data Transfer Object, que representan los mapeos de objetos contra las tablas
 * de la base de datos.<br />Esto permite que las diferentes capas de la aplicación puedan
 * comunicarse enviando objetos DTO que encapsulen la información.<br />
 *
 * Todos los DTO implementan la interfaz <code>java.io.Serializable</code>
 */
package edu.uoc.tds.pec4.beans;

import java.util.Date;

/**
 * La clase <code>ReservaDTO</code> representa el objeto DTO relativo a
 * la entidad reserva.<br />
 *
 * @author	Luis Rivas Mariño
 * @version	24/11/2011
 * @see		edu.uoc.tds.pec4.common.GestorIncidenciasInterface
 */
public class ReservaDTO extends DTO{

    private Integer idReserva;
    private Integer estado;
    private String idEmpleado;
    private Integer idAula;
    private Double importe;
    
    // Atributos foráneos
    private String nomAula;
    private String nomEmpleado;
    private Date fechaDesde;
    private Date fechaHasta;
    private Date horaIni;
    private Date horaFin;
    private Boolean diaCompleto;
    private String nomCliente;
    private Integer numSolicitud;
    private String nomCiudad;
    private String nomProvincia;
    private String nomPais;
    private Date fechaSol;
    private Date horaSol;
    private Double superficie;
    private Integer aforo;
    
    // Beans
    private AulaDTO aula;

     /**
     * Constructor de una Reserva
     */
    public ReservaDTO() {
        super();
    }
    
    public Integer getIdReserva(){
        return idReserva;
    }
    
    public void setIdReserva(Integer idReserva){
        this.idReserva = idReserva;
    }
    
    public Integer getEstado(){
        return estado;
    }
    
    public void setEstado(Integer estado){
        this.estado = estado;
    }
    
    public String getIdEmpleado(){
        return idEmpleado;
    }
    
    public void setIdEmpleado(String idEmpleado){
        this.idEmpleado = idEmpleado;
    }

    public String getNomEmpleado() {
        return nomEmpleado;
    }

    public void setNomEmpleado(String nomEmpleado) {
        this.nomEmpleado = nomEmpleado;
    }

    
    public Integer getIdAula(){
        return idAula;
    }
    
    public void setIdAula(Integer idAula){
        this.idAula = idAula;
    }
    
    public Double getImporte(){
        return importe;
    }
    
    public void setImporte(Double importe){
        this.importe = importe;
    }

// Atributos foráneos
    public String getNomCliente() {
        return nomCliente;
    }

    public void setNomCliente(String nomCliente) {
        this.nomCliente = nomCliente;
    }

    public Date getFechaDesde() {
        return fechaDesde;
    }
    public void setFechaDesde(Date fechaDesde) {
        this.fechaDesde = fechaDesde;
    }
    
    public Date getFechaHasta() {
        return fechaHasta;
    }
    public void setFechaHasta(Date fechaHasta) {
        this.fechaHasta = fechaHasta;
    }
    public Date getHoraIni(){
        return horaIni;
    }
    
    public void setHoraIni(Date horaIni){
        this.horaIni = horaIni;
    }
    
    public Date getHoraFin(){
        return horaFin;
    }
    
    public void setHoraFin(Date horaFin){
        this.horaFin = horaFin;
    }
    public void setDiaCompleto(Boolean diaCompleto){
        this.diaCompleto=diaCompleto;
    }
    
    public boolean getDiaCompleto (){
        return diaCompleto;
    }
    public boolean isDiaCompleto() {
        return diaCompleto;
    }

    public void setDiaCompleto(boolean diaCompleto) {
        this.diaCompleto = diaCompleto;
    }
    
    public Integer getNumSolicitud() {
        return numSolicitud;
    }

    public void setNumSolicitud(Integer numSolicitud) {
        this.numSolicitud = numSolicitud;
    }
 public String getNomCiudad() {
        return nomCiudad;
    }

    public void setNomCiudad(String nomCiudad) {
        this.nomCiudad = nomCiudad;
    }

    public String getNomPais() {
        return nomPais;
    }

    public void setNomPais(String nomPais) {
        this.nomPais = nomPais;
    }

    public String getNomProvincia() {
        return nomProvincia;
    }

    public void setNomProvincia(String nomProvincia) {
        this.nomProvincia = nomProvincia;
    }
    public Date getFechaSol(){
        return fechaSol;
    }
    
    public void setFechaSol(Date fechaSol){
        this.fechaSol = fechaSol;
    }
    
    public Date getHoraSol(){
        return horaSol;
    }
    
    public void setHoraSol(Date horaSol){
        this.horaSol = horaSol;
    }
    public Double getSuperficie(){
        return superficie;
    }
    
    public void setSuperficie(Double superficie){
        this.superficie=superficie;
    }
    public Integer getAforo(){
        return aforo;
    }
    
    public void setAforo(Integer aforo){
        this.aforo = aforo;
    }
    public String getNomAula(){
        return nomAula;
    }
    
    public void setNomAula(String nomAula){
        this.nomAula = nomAula;
    }

    public AulaDTO getAula() {
        return aula;
    }

    public void setAula(AulaDTO aula) {
        this.aula = aula;
    }
        
    /**
     * Indicates whether some other object is "equal to" this one.
     * @param	obj the reference object with which to compare.
     * @return	Returns true if this object is the same as the obj argument;
     *          false otherwise.
     */
    @Override
    public boolean equals(Object obj) {
        boolean igual = false;
        if (obj != null) {
            if (obj instanceof ReservaDTO) {
                igual = this.getIdReserva().equals(((ReservaDTO) obj).getIdReserva());
            }
        }
        return igual;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 53 * hash + (this.idReserva != null ? this.idReserva.hashCode() : 0);
        return hash;
    }

    @Override
    public String toString() {
        return idReserva.toString();
    }
}
